package pe.edu.upc.jtigers.svpn.domain.model;

import java.io.Serializable;
import java.util.Collection;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Transient;

import org.codehaus.jackson.annotate.JsonIgnore;

@Entity
@PrimaryKeyJoinColumn(name = "IdSabio")
public class Sabio extends Usuario implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String apelativo;
	private String resumenAutobiografico;
	private String sitioWeb;
	private String cuentaBancaria;
	@JsonIgnore
	@OneToMany(mappedBy = "sabio")
	private Collection<PlanNegocio> planesNegocio;
	@JsonIgnore
	@OneToMany(mappedBy = "sabio")
	private Collection<Pregunta> preguntas;

	@Transient
	private int totalPlanes;

	public Sabio() {
	}

	public String getApelativo() {
		return apelativo;
	}

	public void setApelativo(String apelativo) {
		this.apelativo = apelativo;
	}

	public String getResumenAutobiografico() {
		return resumenAutobiografico;
	}

	public void setResumenAutobiografico(String resumenAutobiografico) {
		this.resumenAutobiografico = resumenAutobiografico;
	}

	public String getSitioWeb() {
		return sitioWeb;
	}

	public void setSitioWeb(String sitioWeb) {
		this.sitioWeb = sitioWeb;
	}

	public String getCuentaBancaria() {
		return cuentaBancaria;
	}

	public void setCuentaBancaria(String cuentaBancaria) {
		this.cuentaBancaria = cuentaBancaria;
	}

	public Collection<PlanNegocio> getPlanesNegocio() {
		return planesNegocio;
	}

	public void setPlanesNegocio(Collection<PlanNegocio> planesNegocio) {
		this.planesNegocio = planesNegocio;
	}

	public Collection<Pregunta> getPreguntas() {
		return preguntas;
	}

	public void setPreguntas(Collection<Pregunta> preguntas) {
		this.preguntas = preguntas;
	}

	public int getTotalPlanes() {
		if (this.planesNegocio != null) {
			this.totalPlanes = this.planesNegocio.size();
		}
		return totalPlanes;
	}

	public void setTotalPlanes(int totalPlanes) {

		this.totalPlanes = totalPlanes;
	}
}
